package com.maozzi.service.acl.domain;


import com.maozzi.api.acl.model.RoleDTO;
import com.maozzi.service.acl.repository.model.UserRole;

import java.util.List;

/**
 * 权限 - 角色 domain service
 *
 * @author maozi
 */
public interface UserRoleDomainService {

    /**
     * 查询用户角色集合
     *
     * @param userId 用户ID
     * @return 返回
     */
    List<UserRole> getUserRole(Long userId);

    /**
     * 批量删除用户角色（硬删除）
     *
     * @param userId 用户ID
     * @return true - 成功
     */
    Boolean delUserRoleBatch(Long userId);

    /**
     * 保存用户角色
     *
     * @param userId 用户ID
     * @param roleId 角色ID
     * @return true - 成功
     */
    Boolean putUserRole(Long userId, Long roleId);

    /**
     * 批量保存用户角色
     *
     * @param userId  用户ID
     * @param roleIds 角色ID集合
     * @return true - 成功
     */
    Boolean putUserRoleBatch(Long userId, Long... roleIds);
}
